home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
gnu
/
dejagnu.lha
/
dejagnu-1.0.1
/
expect
/
Makefile.in
< prev
next >
Wrap
Makefile
|
1993-05-26
|
15KB
|
395 lines
#
# Makefile for Expect
#
VERSION = \"4.5.2\"
SHORT_VERSION = 4.5
# Requires following version of Tcl or later
TCL = 6.5
# Tk optional
TK = 3.0
srcdir = @srcdir@
VPATH = @srcdir@
######################################################################
# The following lines are things you are likely to want to change
######################################################################
# Tcl include files. (If you haven't installed Tcl yet, read the README file).
# This must point to the directory that contains ALL of Tcl's include
# files, not just the public ones.
TCLHDIR = $(srcdir)/../tcl
# Tcl library
TCLLIB = ../tcl/libtcl.a
# The following three defs are only nec. if you want to use Tk with Expect.
# Tk include files
TKHDIR = $(srcdir)/../tk
# Tk library
TKLIB = ../tk/libtk.a
# X11 include files
X11HDIR = $(srcdir)/../X11
# flags to pass to both cc and ld
# -O for production version
# -g for debuggable version
CFLAGS = -g
# which C compiler to use
CC = cc
# By default, `make install' will install the appropriate files in
# /usr/local/bin, /usr/local/lib, /usr/local/man, etc. You can specify
# an installation prefix other than /usr/local here:
prefix = /usr/local
# You can specify a separate installation prefix for architecture-specific
# files such as binaries and libraries.
exec_prefix = /usr/local
# The following Expect scripts are not necessary to have installed as
# commands, but are very useful. Edit out what you don't want installed.
# The INSTALL file describes these and others in more detail.
# Some Make's screw up if you delete all of them because SCRIPTS is a
# target. If this is a problem, just comment out the SCRIPTS target itself.
SCRIPTS = timed-run timed-read ftp-rfc autopasswd robohunt lpunlock weather \
passmass rftp kibitz rlogin-cwd xpstat
# A couple (well, one for now) of the scripts have man pages of their own.
# You can delete these too, if you don't want'em.
SCRIPTS_MANPAGES = kibitz
# Short directory path where expect binary can be found to support #! hack.
# This directory path can be the same as the directory in which the binary
# actually sits except when the path is so long that the #! mechanism breaks
# (usually at 32 characters).
# The solution is to create a directory with a very short name, which consists
# only of symbolic links back to the true binaries. Subtracting two for "#!"
# and a couple more for arguments (typically " -f" or " --") gives you 27
# characters. Pathnames over this length won't be able to use the #! magic.
# For more info on this, see the execve(2) man page.
SHORT_BINDIR = /usr/local/bin
# If you have select but it doesn't support ttys and your poll does,
# change this from select to poll. Known systems with this problem: older
# SCO boxes.
PTY_TYPE = @PTY_TYPE@
# If you have ranlib but it should be avoided, change this from "ranlib" #
# to something innocuous like "echo". Known systems with this problem:
# older SCO boxes.
RANLIB = @RANLIB@
######################################################################
# End of things you are likely to want to change
######################################################################
bindir = $(exec_prefix)/bin
bindir_arch_indep = $(prefix)/bin
libdir = $(exec_prefix)/lib
tooldir = $(libdir)
datadir = $(prefix)/lib
mandir = $(prefix)/man
man1dir = $(mandir)/man1
man3dir = $(mandir)/man3
infodir = $(prefix)/info
includedir = $(prefix)/include
oldincludedir =
docdir = $(datadir)/doc
SHELL = /bin/sh
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
AR = ar
ARFLAGS = cr
RUNTEST = runtest
RUNTESTFLAGS =
# X library
X11_LIB_FLAGS=
X11_LIB = -lX11
# If you are on a cray, comment out the "SETUID = echo" line and use the
# "SETUID = chmod s+o" below. expect must be setuid on crays in order to
# open ptys (and accordingly, you must run this Makefile as root).
# See the FAQ for more info on why this is necessary on Crays.
SETUID = @SETUID@
# SETUID = chmod u+s
#
# choose one of the following: select, poll, posix, or simple
EVENT_TYPE = @EVENT_TYPE@
# If your system (Sun, recent HP, Ultrix, etc) has select(2) use select
# Note that many SV machines support select. Starting with SVR4, all will.
# If your machine supports poll(2) but not select, use poll.
# If that doesn't work, use simple. This does not support
# multiple processes, but you will still find the result useful.
# Some machines (e.g., 3b2 running SVR3) have poll, but do not
# support it for ttys. In this case, you must also use simple.
# Eventually, POSIX is supposed to provide a select/poll replacement,
# but they have not yet done so.
# Some machines (e.g., SCO) have select, but do not support it for ttys.
# In this case, use poll or simple. Note that such machines will not
# be able to use Expect with Tk since Tk's event manager insists on
# reading all events through select.
SCRIPTDIR = $(datadir)/expect
# Define default parameters for ptys. This is used when 1) running in the
# background, 2) user has not defined the variable STTY_INIT to initialize
# ptys, and 3) the pty-driver's defaults suck.
# Use whatever format your local stty program likes.
STTY=\"sane\"
CPPFLAGS = -I. -I$(srcdir) -I$(TCLHDIR) -I$(TKHDIR) -I$(X11HDIR) \
-DVERSION=$(VERSION) \
-DDFLT_STTY=$(STTY) \
-DSCRIPTDIR=\"$(SCRIPTDIR)/\"
#
# Flags to pass to cc (i.e. add to the end of the CFLAGS line below).
# Note that setting one will not set others automatically. Set all that
# are relevant.
#
# -DPOSIX if you are have POSIX tty support. (Currently only tested on AIX
# 3.x).
# -DNOWAITPID if your system doesn't have waitpid. Only really old systems
# lack this.
# -DNO_PID_T if your system doesn't have a typedef for pid_t. If you don't
# know, try without defining it. If it compiles, you're ok.
# -DNO_MEMCPY if your system does not have memcpy. If you don't know, try
# without defining it. If it compiles, you're ok.
# -DNO_STRING_H if your system does not have /usr/include/string.h. If you
# don't know, try without defining it. If it compiles, you're ok.
# -DSYSV3 if you are running SVR3 or later.
# -DSYSV4 if you are running SVR4. This option does not preclude -DSYSV3.
# -DHPUX if you are running HP-UX.
# -DCRAY=51 or 60, 70, etc, if you are running Cray Unicos 5.1, 6.0, 7.0, etc.
# -DAUX2 if you are running Mac A/UX 2.
# -DUTS if you are on an Amdahl.
# -DSCO if you are running SCO Unix.
# -DMIPS_BSD if you are on a Mips machine using the BSD universe.
# -DRETSIGTYPE=int if you are running SunOS-3.X or similar systems that
# define the function argument to signal as int (*func)() rather than
# void (*func)().
# -DREARM_SIG if you are running systems (such as V7, SV, Unicos) where signal
# handlers need to be rearmed after use.
# -D_BSD_SIGNALS if you are on a Silicon Graphics AND want BSD semantics when
# using the expect library. Otherwise, you are better off just sticking
# with defining REARM_SIG (above).
# -DEXTERN_ERRNO if your system needs "extern int errno" (e.g., MORE/bsd).
# -DTERM=whatever if your system is unhappy with the default terminal struct
# name (termios for SV, and sgttyb for BSD). Some SV systems (3b2 &
# pre-8.0 HPUX) want "termio".
# -DNOSTDLIB if your system doesn't have /usr/include/stdlib.h. If you don't
# know, try without. If you get bad declarations on malloc, then add.
# Flags to pass to ld (i.e., add to the end of the LIBS line below).
#
# -lc -lBSD If you are using the BSD compatibility library on an HP/UX,
# force libc.a to be loaded first.
# -lsocket For SCO UNIX 3.2.2
# /usr/ucblib/libucb.a is needed for solaris 2.0 after -lm
LIBS = -lm @LIBS@
######################################################################
# End of things you probably dont want to change
######################################################################
# If your "make" automatically includes CPPFLAGS in CC, use
#CFLAGS = $(CLFLAGS)
# else use following two lines
# use these flags on an HP700 running hp-ux
#CFLAGS = $(CLFLAGS) $(CPPFLAGS) -DHPUX -DSYSV3 -DREARM_SIG
CFLAGS_INT = $(MH_CFLAGS) $(CPPFLAGS) $(CFLAGS)
.c.o:
$(CC) -c $(CFLAGS_INT) $(HDEFS) $<
EVENT = exp_$(EVENT_TYPE)
PTY = pty_$(PTY_TYPE)
CFILES = $(srcdir)/exp_command.c $(srcdir)/expect.c $(srcdir)/$(PTY).c \
$(srcdir)/exp_inter.c $(srcdir)/exp_regexp.c $(srcdir)/exp_tty.c \
$(srcdir)/exp_log.c $(srcdir)/exp_main_sub.c $(srcdir)/exp_pty.c
OFILES = exp_command.o expect.o $(PTY).o exp_inter.o exp_regexp.o exp_tty.o \
exp_log.o exp_main_sub.o exp_pty.o
LIBCFILES = $(srcdir)/lib_exp.c $(srcdir)/lib_string.c $(srcdir)/$(PTY).c \
$(srcdir)/lib_debug.c $(srcdir)/exp_pty.c
LIBOFILES = lib_exp.o lib_string.o $(PTY).o lib_debug.o exp_pty.o
LIBEXPECT = libexpect.a
LIBEXPTCL = libexptcl.a
LIBEXPTK = libexptk.a
# CYGNUS LOCAL: don't build tk stuff for now...
all: expect $(LIBEXPECT) $(LIBEXPTCL) exp_test #$expectk (LIBEXPTK)
info:
dvi:
expect: $(OFILES) exp_main_exp.o $(EVENT).o
$(CC) $(CFLAGS) -o expect $(OFILES) exp_main_exp.o $(EVENT).o $(LIBS) $(TCLLIB)
$(SETUID) expect
expectk: $(OFILES) exp_main_tk.o exp_tk.o
$(CC) $(CLFLAGS) -o expectk $(OFILES) exp_main_tk.o exp_tk.o $(TKLIB) $(TCLLIB) $(X11_LIB_FLAGS) $(X11_LIB) $(LIBS)
$(SETUID) expectk
exp_test: $(srcdir)/exp_test.c
$(CC) $(CFLAGS) $(srcdir)/exp_test.c -o exp_test
Makefile : $(srcdir)/Makefile.in $(host_makefile_frag)
$(SHELL) config.status
$(LIBEXPECT): $(LIBOFILES)
$(AR) $(ARFLAGS) $(LIBEXPECT) $(LIBOFILES)
-$(RANLIB) $(LIBEXPECT)
$(LIBEXPTCL): $(OFILES) $(EVENT).o
$(AR) $(ARFLAGS) $(LIBEXPTCL) $(OFILES) $(EVENT).o
-$(RANLIB) $(LIBEXPTCL)
$(LIBEXPTK): $(OFILES) exp_tk.o
$(AR) $(ARFLAGS) $(LIBEXPTK) $(OFILES) exp_tk.o
-$(RANLIB) $(LIBEXPTK)
install-info:
# CYGNUS LOCAL: don't depend on $(SCRIPTS)
install: expect $(LIBEXPECT) # $(SCRIPTS)
# install Expect
-parent=`echo $(bindir)|sed -e 's@/[^/]*$$@@'`; \
if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
-if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; fi
$(INSTALL_PROGRAM) expect $(bindir)/expect
# install Expect man page
-parent=`echo $(man1dir)|sed -e 's@/[^/]*$$@@'`; \
if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
-if [ -d $(man1dir) ] ; then true ; else mkdir $(man1dir) ; fi
$(INSTALL_DATA) $(srcdir)/expect.man $(man1dir)/expect.1
# install Expect library
-parent=`echo $(libdir)|sed -e 's@/[^/]*$$@@'`; \
if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
-if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; fi
$(INSTALL_DATA) libexpect.a $(libdir)/libexpect.a.n
-$(RANLIB) $(libdir)/libexpect.a.n
mv -f $(libdir)/libexpect.a.n $(libdir)/libexpect.a
# install Expect library man page
-parent=`echo $(man3dir)|sed -e 's@/[^/]*$$@@'`; \
if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
-if [ -d $(man3dir) ] ; then true ; else mkdir $(man3dir) ; fi
$(INSTALL_DATA) $(srcdir)/libexpect.man $(man3dir)/libexpect.3
# install Expect library include file
-parent=`echo $(includedir)|sed -e 's@/[^/]*$$@@'`; \
if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
-if [ -d $(includedir) ] ; then true ; else mkdir $(includedir) ; fi
$(INSTALL_DATA) $(srcdir)/expect.h $(includedir)/expect.h
# ditto but for Expect-Tcl library if present
-if [ -s $(LIBEXPTCL) ] ; then \
$(INSTALL_DATA) $(LIBEXPTCL) $(libdir)/$(LIBEXPTCL).n ; \
$(RANLIB) $(libdir)/$(LIBEXPTCL).n 2>>/dev/null ; \
mv -f $(libdir)/$(LIBEXPTCL).n $(libdir)/$(LIBEXPTCL) ; \
$(INSTALL_DATA) $(srcdir)/libexptcl.man $(man3dir)/libexptcl.3 ; \
fi
# ditto but for Expectk
-if [ -x expectk ] ; then \
$(INSTALL_PROGRAM) expectk $(bindir)/expectk ; \
fi
# ditto but for Expect-Tk library if present
-if [ -s $(LIBEXPTK) ] ; then \
$(INSTALL_DATA) $(LIBEXPTK) $(libdir)/$(LIBEXPTK).n ; \
$(RANLIB) $(libdir)/$(LIBEXPTK).n 2>>/dev/null ; \
mv -f $(libdir)/$(LIBEXPTK).n $(libdir)/$(LIBEXPTK) ; \
$(INSTALL_DATA) $(srcdir)/libexptk.man $(man3dir)/libexptk.3 ; \
fi
# create utility-script directory
-parent=`echo $(SCRIPTDIR)|sed -e 's@/[^/]*$$@@'`; \
if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
-if [ -d $(SCRIPTDIR) ] ; then true ; else mkdir $(SCRIPTDIR) ; fi
# install standalone scripts and their man pages, if requested
-if [ -n "$(SCRIPTS)" ] ; then \
for i in $(SCRIPTS) ; do \
if [ -f $$i ] ; then \
$(INSTALL_PROGRAM) $$i $(bindir_arch_indep)/$$i ; \
chmod a+x $(bindir_arch_indep)/$$i ; \
rm $$i ; \
fi \
done ; \
fi
-if [ -n "$(SCRIPTS_MANPAGES)" ]; then \
for file in "$(SCRIPTS_MANPAGES)" ; do \
if [ -f $$file ] ; then \
$(INSTALL_DATA) $(srcdir)/example/$$file.man $(man1dir)/$$file.1 ; \
fi ; \
done ; \
fi
$(SCRIPTS):
./expect $(srcdir)/fixline1 $(SHORT_BINDIR) < $(srcdir)/example/$@ > $@
# ./expect fixline1 $(SHORT_BINDIR) < example/$@ > $@
clean:
-rm -f *~ *.o core expect expectk dumb exho devtty *.a exp_test
check: all exp_test
rootme=`pwd`; export rootme; \
$(RUNTEST) $(RUNTESTFLAGS) --tool expect EXPECT=$$rootme/expect \
--srcdir $(srcdir)/testsuite
distclean: clean
-rm -f Makefile config.status exp_conf.h
configure: configure.in
autoconf configure.in > configure
LINTFLAGS = -h -q -x
lint:
lint $(LINTFLAGS) $(CPPFLAGS) $(CFILES) $(TCLLINTLIB) | tee expect.lint
lint $(LINTFLAGS) $(CPPFLAGS) $(LIBCFILES) | tee libexpect.lint
# Following target builds expect under CodeCenter.
exp: $(CFILES) exp_main_exp.c $(EVENT).c
#load $(CPPFLAGS) $(CFILES) exp_main_exp.c $(EVENT).c $(TCLLIB) $(LIBS)
# Following target builds expectk under CodeCenter. Notes:
# Because of explicit #includes of <X11/...> in tk.h, you need to create
# a symlink from your X11 include directory to this directory
tk: $(CFILES) exp_main_tk.c exp_tk.c
#load $(CPPFLAGS) $(CFILES) exp_main_tk.c exp_tk.c $(TKLIB) $(TCLLIB) $(X11_LIB) $(LIBS)
# Follow definitions are for building expect and expectk under ObjectCenter
oexp: $(CFILES) exp_main_exp.c $(EVENT).c
#load $(CPPFLAGS) -C $(CFILES) exp_main_exp.c $(EVENT).c $(TCLLIB)
otk: $(CFILES) exp_main_tk.c exp_tk.c
#load $(CPPFLAGS) -C $(CFILES) exp_main_tk.c exp_tk.c $(TKLIB)
FTPDIR = /proj/elib/online/pub/expect
ftp: expect-$(SHORT_VERSION).tar.Z
cp expect-$(SHORT_VERSION).tar.Z $(FTPDIR)/alpha.tar.Z
cp HISTORY $(FTPDIR)
rm expect-$(SHORT_VERSION).tar.Z
ls -l $(FTPDIR)/alpha.tar.Z
expect-$(SHORT_VERSION).tar:
rm -f ../expect-$(SHORT_VERSION)
ln -s `pwd` ../expect-$(SHORT_VERSION)
rm -f ../pubfile
ln pubfile ..
cd ..;tar cvf expect-$(SHORT_VERSION).tar `pubfile expect-$(SHORT_VERSION)`
mv ../expect-$(SHORT_VERSION).tar .
expect-$(SHORT_VERSION).tar.Z: expect-$(SHORT_VERSION).tar
rm -f expect-$(SHORT_VERSION).tar.Z
compress expect-$(SHORT_VERSION).tar
expect.o: $(srcdir)/exp_global.h $(srcdir)/exp_command.h exp_conf.h
exp_main_exp.o: $(srcdir)/exp_global.h exp_conf.h
exp_command.o: $(srcdir)/exp_global.h $(srcdir)/exp_command.h exp_conf.h
$(EVENT).o: $(srcdir)/exp_global.h $(srcdir)/exp_command.h exp_conf.h
$(PTY).o: $(srcdir)/exp_tty.h $(srcdir)/exp_rename.h exp_conf.h